package com.atguigu.gmall.product.service;

import com.atguigu.gmall.product.model.BaseTrademark;
import com.atguigu.gmall.product.model.CategoryTrademarkVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 品牌表 业务接口类
 * @author atguigu
 * @since 2023-07-25
 */
public interface BaseTrademarkService extends IService<BaseTrademark> {

    /**
     * 分页查询品牌列表
     *
     * @param iPage
     * @return
     */
    Page<BaseTrademark> getBaseTrademarkByPage(Page<BaseTrademark> iPage);

    /**
     * 根据分类查询该分类下关联品牌列表
     * @param category3Id
     * @return
     */
    List<BaseTrademark> getTrademarkListByCategoryId(Long category3Id);

    /**
     * 查询指定分类下可选品牌列表（未关联到当前品牌列表）
     *
     * @param category3Id
     * @return
     */
    List<BaseTrademark> getCurrentTrademarkList(Long category3Id);


    /**
     * 将品牌关联到指定分类
     *
     * @param vo
     * @return
     */
    void saveCategtoryTrademark(CategoryTrademarkVo vo);

    /**
     * 解除分类关联品牌
     *
     * @param category3Id
     * @param trademarkId
     * @return
     */
    void removeCategtoryTrademark(Long category3Id, Long trademarkId);
}
